/**      
 * @file		BikePtr.cpp
 * @description		Demonstrates dynamic memory allocation.
 *			You will need the following files for this to work:
 *				Bike.h
 *				Bike.cpp
 * @course		CSCI 123 Section 00000
 * @assignment 
 * @date		mm/dd/yyyy
 * @author		Brad Rippe (00000000) brippe@fullcoll.edu
 * @version		1.0
 */
#include <iostream>
#include "Bike.h"
using namespace std;

/**
 * @return zero if the application executes successfully
 */
int main() {
	// calls the bike's 
	// three parameter constructor
	Bike *myBike = new Bike("My Bike", 17, 26.0);

	// this line dereferences the Bike ptr and uses dot notation to access
	// the member function getName()
	cout << "Bike Name: " << (*myBike).getName() << endl;
	
	// this operator dereferences the ptr and accesses the member function
	// all with one operator ->
	// this is the operator we usually use
	cout << "Bike size: " << myBike->getSize() << endl;

	// calls the bike's 
	// default constructor
	Bike *mySecondBike = new Bike;

	// this line dereferences the Bike ptr and accesses
	// the member function getName()
	cout << "Bike Name: " << mySecondBike->getName() << endl;

	// this operator dereferences the ptr and accesses the member function
	// all with one operator ->
	// this is the operator we usually use
	cout << "Bike size: " << mySecondBike->getSize() << endl;

	return 0;
}
